package com.aidex.common.core.domain;

import com.alibaba.fastjson2.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;

@Data
@Api(tags = "树结构实体")
public class TreeNode implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("节点ID")
    private String id;

    @ApiModelProperty("节点KEY")
    private String key;

    @ApiModelProperty("节点名称")
    private String label;

    @ApiModelProperty("节点名称")
    private String title;

    @ApiModelProperty("节点类型")
    private String type;

    @ApiModelProperty("是否可选择")
    private Boolean selectable;

    @ApiModelProperty("是否禁用")
    private Boolean disabled;

    @ApiModelProperty("复选框是否禁用")
    private Boolean disableCheckbox;

    @ApiModelProperty("是否叶子节点")
    private Boolean isLeaf;

    @ApiModelProperty("树层级")
    private Boolean treeLevel;

    @ApiModelProperty("树图标")
    private String treeIcon;

    @ApiModelProperty("所有父节点ID")
    private String parentIds;

    @ApiModelProperty("父节点ID")
    private String parentId;

    @ApiModelProperty("子节点")
    private List<TreeNode> children;

    @ApiModelProperty("属性集合")
    private HashMap<String, Object> attributes;

    @ApiModelProperty("slots")
    private JSONObject slots;

    @ApiModelProperty("scopedSlots")
    private JSONObject scopedSlots;

}
